/*
用于测试链表函数的实现
*/

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdbool.h>
#include "link.h"

int main (void)
{
    Link *plink1=(Link *)malloc(sizeof(Link));
    Link *plink2=(Link *)malloc(sizeof(Link));
    Link *plink3=(Link *)malloc(sizeof(Link));

    init(plink1);
    init(plink3);
    init(plink2);
    for (int  i = 0; i < 5; i++)
    {
        add(plink1,3*i);
    }
    display(plink1);
    insert(plink1,33,2);
    display(plink1);

    for(int i=1;i<4;i++)
    {
        add(plink2,4*i);
    }
    insert(plink2,50,4);
    display(plink2);
    delete_link(plink1,2);
    display(plink1);

    MergeList(plink1,plink2,plink3);

    display(plink3);
    ReplaceList(plink3);
    display(plink3);
    return 1;
    PrintfNode(plink3->head->next);
    printf("\n");
    Node *temp=find(plink3,4);
    RverseList(temp);
    display(plink3);
    Node *x=FindKNode(plink3,3);
    
    printf("%d\n",x->data);

    make_empty(plink1);
    make_empty(plink3);
    make_empty(plink2);

    // printf("带环的链表\n");
    // int size=LengthList(plink3);
    // printf("size=%d\n",size);
    // Node *p1=find(plink3,size);
    // printf("p1=%d,",p1->data);
    // Node *p2=find(plink3,3);
    // printf("p2=%d\n",p2->data);
    // p1->next=p2;

    // Node *t=FindLoop(plink3);
    // printf("%d\n",t->data);
    free(plink1);
    free(plink3);
    free(plink2);

}